/**
 * 生成唯一ID  趋势递增,绝对唯一  依赖:毫秒时间+$.SID
 * @config $.SID int (多)服务器ID  0-255 正式:[1,200]
 * 		0及[201,255]: 用于开发,测试,演示,预留等
 * @config $._id int 时间基数  影响生成ID:
 * 		0: 18位=>2211-10前, 19位(<2^63-1)=>4199-11前
 * 		946656E6:  `2000-01-01` -> 18位/0的时间+30年
 * 		1577808E6: `2020-01-01` -> 17位/0的时间+50年
 * @return string  整数字符串  长度受$._id配置影响
 * 		理论: 200个SID * 512个/ms => 102400
 */
$.id = function(){
	const S=BigInt($.SID<<9);  let U=0, N=0, u;
	$.id = function(){
		if(U<(u=new Date()*1)){ U=u; N=0; }
		else if(N<511) N++; else{ U++; N=0; }
		return (BigInt(U)<<17n)+S+BigInt(N)+'';
	};
	return $.id();
};
$._id=$._id||0; // [配置]时间基数
